/**
 * @description 本地类型定义; 用于定义一些不适合或无法放在 vue 组件中的类型，且这些类型仅供前端使用，与后端接口无关
 */

import type { ColumnSwitch } from './components/table-column/ColumnSwitch.vue';
import type { ColumnText } from './components/table-column/ColumnText.vue';

/*** 表格列模板 ***/

// 列内容类型
export enum ColumnType {
  Text, // 文本
  Switch, // 开关
  Action, // 操作
}

// 预定义的列配置
export type ColumnItem =
  | { t: ColumnType.Text; v: ColumnText }
  | { t: ColumnType.Switch; v: ColumnSwitch };

// 列配置模板
export type ColumnTemplate = Record<string, ColumnItem>;
